class Animal:
    def __init__(self, name):
        self.name = name
        self.age = 0
        self.speed = '0'
        self.__weight = '0'

    def eat(self):
        print(f"{self.name} is eating")
        self.__weight = '3'
        self.__fun()

    def __fun(self):
        pass

    def run(self):
        print(f"{self.name} is running")
        print(f'speed is {self.speed}')


class Dog(Animal):
    def __init__(self, name):
        super().__init__(name)
        self.speed = '50'

    def eat(self):
        print("eating")


class Cat(Animal):
    def __init__(self, name):
        super().__init__(name)
        self.speed = '40'


class Bird(Animal):
    def __init__(self, name):
        super().__init__(name)
        self.speed = '100'

    def fly(self):
        print(f"{self.name} is flying")


if __name__ == "__main__":
    a = Dog('doga')
    b = Cat('catb')
    c = Bird('birdc')

    a.eat()
    a.run()